package cc.yugu.yhdw.webserver.persistence.basic;

import cc.yugu.yhdw.common.domain.basic.Agent;
import cc.yugu.yhdw.common.domain.basic.AgentInfo;
import cc.yugu.yhdw.common.persistence.MasterMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
/**
 * 运营商映射
 *
 * @Date:Created in 2018/6/27 20:14
 * @Author:
 * @Modified By: zjn 2018/6/27 20:14
 */
public interface AgentMapper extends MasterMapper {
    /**
    * 根据上级id（parent_id）利用子查询统计（表：bas_agent）所对应的行数量
    *
    * @Param: [property, value]
    * @Return: int
    * @Author By: zjn 2018/6/27  20:15
    */
    public int hasRecordByProperty(@Param("property") String property, @Param("value") Object value);
    /**
    * 根据主键id查询bas_agent表
    *
    * @Param: [id]
    * @Return: cc.yugu.yhdw.common.domain.basic.Agent
    * @Author By: zjn 2018/6/28  9:11
    */
    public Agent find(Integer id);
    /**
    * 根据主键id查询表bas_agent表中的运营商个名称
    *
    * @Param: [id]
    * @Return: cc.yugu.yhdw.common.domain.basic.AgentInfo
    * @Author By: zjn 2018/6/28  9:13
    */
    public AgentInfo findInfo(Integer id);
    /**
    * 根据 activeFlag（是否启用标志） 查询表bas_agent表中的所有数据
    * 
    * @Param: [activeFlag]
    * @Return: java.util.List<cc.yugu.yhdw.common.domain.basic.Agent>
    * @Author By: zjn 2018/6/28  9:15
    */ 
    public List<Agent> findAll(int activeFlag);
    /**
    * 查询对应条件的行数
    *
    * @Param: [search]
    * @Return: int
    * @Author By: zjn 2018/6/28  9:17
    */
    public int findPageCount(Agent search);
    /**
    * 分页 ，按条件查询数据
    *
    * @Param: [search]
    * @Return: java.util.List<cc.yugu.yhdw.common.domain.basic.Agent>
    * @Author By: zjn 2018/6/28  9:19
    */
    public List<Agent> findPageResult(Agent search);
    /**
    * 插入数据
    *
    * @Param: [entity]
    * @Return: int
    * @Author By: zjn 2018/6/28  9:44
    */
    public int insert(Agent entity);
    /**
    * 根据主键id更新数据
    *
    * @Param: [entity]
    * @Return: int
    * @Author By: zjn 2018/6/28  9:44
    */
    public int update(Agent entity);
    /**
    * 根据主键id更新表bas_agent中的余额
    *
    * @Param: [id, balance]
    * @Return: int
    * @Author By: zjn 2018/6/28  9:45
    */
    public int updateBalance(@Param("id") Integer id, @Param("balance") Integer balance);
    /**
    * 根据主键id更新表bas_agent中的‘是否启用’标志位
    *
    * @Param: [id, activeFlag]
    * @Return: int
    * @Author By: zjn 2018/6/28  11:24
    */
    public int disable(@Param("id") int id, @Param("activeFlag") int activeFlag);
    /**
    * 根据主键id删除
    *
    * @Param: [id]
    * @Return: int
    * @Author By: zjn 2018/6/28  11:28
    */
    public int delete(int id);
}
